"use strict";
cc._RF.push(module, '4decaALYrFHY67N5M180Dt0', 'MathUtil');
// eazax-ccc/utils/MathUtil.ts

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * 数学工具
 */
var MathUtil = /** @class */ (function () {
    function MathUtil() {
    }
    /**
    * 获取一个 min 到 max 范围内的随机整数
    * @param min 最小值
    * @param max 最大值
    */
    MathUtil.getRandomInt = function (min, max) {
        if (min === void 0) { min = 0; }
        if (max === void 0) { max = 1; }
        return Math.floor(Math.random() * (max - min) + min);
    };
    /**
     * 获取一个伪随机整数
     * @param seed 随机种子
     * @param key key
     */
    MathUtil.getPseudoRandomInt = function (seed, key) {
        return Math.ceil((((seed * 9301 + 49297) % 233280) / 233280) * key);
    };
    /**
     * 获取两点间的角度
     * @param p1 点1
     * @param p2 点2
     */
    MathUtil.getAngle = function (p1, p2) {
        return Math.atan((p2.y - p1.y) / (p2.x - p1.x));
    };
    /**
     * 获取两点间的距离
     * @param p1 点1
     * @param p2 点2
     */
    MathUtil.getDistance = function (p1, p2) {
        return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
    };
    /**
     * 将角度转为弧度
     * @param angle 角度
     */
    MathUtil.angleToRadian = function (angle) {
        return angle * Math.PI / 180;
    };
    /**
     * 浮点数加法运算（避免浮点数加法精度问题）
     * @param a 数
     * @param b 数
     */
    MathUtil.addSafely = function (a, b) {
        var aDigits = (a.toString().split('.')[1] || '').length;
        var bDigits = (b.toString().split('.')[1] || '').length;
        var multiplier = Math.pow(10, Math.max(aDigits, bDigits));
        return (a * multiplier + b * multiplier) / multiplier;
    };
    return MathUtil;
}());
exports.default = MathUtil;

cc._RF.pop();